package pw_coding

import (
	"path/filepath"
	"sasuke/config"
	"sasuke/pw_date"
	"sasuke/tmpl"
)

var (
	CS_FILE_SUFFIX=".cs"
)

// C#语言基结构
type LangCS struct{
	LangBase
}

// 类结构
type LangCS_Class struct{
	LangCS
	NameSpace string	// 命名空间
	ClassCode string	// 类名
	ClassName string	// 类名称
	References []string    //引用
}


func New_LangCS_Class()*LangCS_Class{
	r:=&LangCS_Class{}
	r.Author=config.TOOL_AUTHOR
	r.CreatedDate=pw_date.PW_Now_New().NormalFmt()
	return r
}

func New_LangCS_Class_ByCode(code string)*LangCS_Class{
	r:=New_LangCS_Class()
	// 截取最后一段目录
	lastdir := filepath.Base(r.GetWorkDir())
	r.NameSpace=lastdir
	r.ClassCode=code
	r.ClassName="类名"
	return r
}

func New_LangCS_Class_ByCodeAndNp(code,NameSpace string)*LangCS_Class{
	r:=New_LangCS_Class()
	r.NameSpace=NameSpace
	r.ClassCode=code
	r.ClassName="类名"
	return r
}

func (l *LangCS_Class) GetFileName() string {
	return l.ClassCode+CS_FILE_SUFFIX
}

func (l *LangCS_Class) GetTemplate() (string,string) {
	return tmpl.CS_CLASS_TEMPLE_NAME,tmpl.CS_CLASS_TEMPLE
}

